// pages/category/index.js
import { request } from '../../request/index.js'
import regeneratorRuntime from  '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    /* 左侧分类数据 */
    leftList: [],
    /** 右侧分类数据 */
    rightList: [],
    /** 被点击的菜单 */
    currentIndex: 0,
    /** 右侧菜单距离顶部的距离 */
    scrollTop: 0
  },
  

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    /**
     * 判断本地存储中有没有数据
     * 如果有的话 且没有过期的话 就直接使用本地数据
     * 如果没有就去接口请求，并存储倒本地
     * 本地存储的格式是 {date: new Date(), data:[]}
     */
    const Cates = wx.getStorageSync('cates')
    if(!Cates) {
      this.getcateData()
    }else {
      // 如果不为空但是超时了
      // 10min = 10*60*1000
      if(Date.now()-Cates.time> 1000*60*10) {
        this.getcateData()
      } else {
        const cates = wx.getStorageSync('cates').datas
        let leftList = cates.map(v=>v.cat_name)
        // 右侧分类数据
        let rightList = cates[0].children
        this.setData({
          leftList: leftList,
          rightList: rightList
        })
      }
    }    
  },
  /* 
  接口文档
  */
  // 
  async getcateData(){
    // request({ url: '/categories'})
    // .then((result) => {
    //   let cates= result.data.message
    //   wx.setStorageSync("cates",{time: Date.now(),datas: cates})
    //   // 左侧分类数据
    //   let leftList = cates.map(v=>v.cat_name)
    //   // 右侧分类数据
    //   let rightList = cates[0].children
    //   this.setData({
    //     leftList: leftList,
    //     rightList: rightList
    //   })
    // })
    const result = await request({url:'/categories'})
    let cates= result.data.message
    wx.setStorageSync("cates",{time: Date.now(),datas: cates})
    // 左侧分类数据
    let leftList = cates.map(v=>v.cat_name)
    // 右侧分类数据
    let rightList = cates[0].children
    this.setData({
      leftList: leftList,
      rightList: rightList
    })
  },
  handlebindtap(e){
    /**
     * 获取点击元素的索引
     * 给currentIndex 赋值
     */
    // console.log(e)
    var {index} = e.currentTarget.dataset
    const cates = wx.getStorageSync('cates').datas
    var rightList = cates[index].children
    this.setData({
      currentIndex:index,
      rightList: rightList,
      scrollTop: 0
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})